package WrittenTest;

import java.util.ArrayDeque;
import java.util.Queue;

public class test29 {
    // 将str中的"%s"按顺序替换为 arg数组中的字符
    // 算法原理：队列
    public static void main(String[] args) {
        String str="A%sC%sE";
        char[] arg={'B','D','F'};
        // ret变量存储结果
        StringBuilder ret = new StringBuilder();
        Queue<Character> q = new ArrayDeque<>();
        // 将arg数组中的字符放入队列中
        for (char c : arg) {
            q.add(c);
        }
        int n = str.length();
        // 遍历str，遇到"%s"就替换
        for (int i = 0; i < n; i++) {
            if (str.charAt(i) != '%') {
                ret.append(str.charAt(i));
            } else {
                ret.append(q.poll());
                i++;
            }
        }
        // 判断队列是否为空
        while (!q.isEmpty()) {
            ret.append(q.poll());
        }
        System.out.println(ret);
    }
}
